<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.GregorianCalendar" %>
<%@ page import="java.util.Calendar" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="com.liferay.portal.kernel.util.HtmlUtil" %>
<%@ page import="com.liferay.portal.kernel.util.WebKeys" %>
<%@ page import="com.liferay.portal.theme.ThemeDisplay" %>
<%@ page import="javax.portlet.PortletSession" %>
<%@ page import="slic.service.EscuelaLocalServiceUtil" %>
<%@ page import="slic.service.EquipoLocalServiceUtil" %>
<%@ page import="slic.model.Escuela" %>
<%@ page import="slic.model.Equipo" %>

<portlet:defineObjects />

<%

	HashMap<String, String> mapEquipo = new HashMap<String, String>();
	mapEquipo.put("categoriaId", renderRequest.getParameter("categoriaId"));
	List<Equipo> listEquipo = EquipoLocalServiceUtil.findByMap(mapEquipo);

	HashMap<Long, List<Equipo>> mapEscuelaListEquipo = new HashMap<Long, List<Equipo>>();
	for (Equipo equipo : listEquipo) {
		if (mapEscuelaListEquipo.get(equipo.getEscuelaId()) == null)
			mapEscuelaListEquipo.put(equipo.getEscuelaId(), new java.util.LinkedList<Equipo>());
		mapEscuelaListEquipo.get(equipo.getEscuelaId()).add(equipo);
	}

	StringBuilder listEscuelaId = new StringBuilder("-1");
	for (Long escuelaId : mapEscuelaListEquipo.keySet()) {
		listEscuelaId.append(",");
		listEscuelaId.append(escuelaId);
	}

	if (renderRequest.getParameter("search") != null) {
		HashMap<String, String> map = new HashMap<String, String>();

		map.put("nombre", renderRequest.getParameter("nombre"));
		map.put("listEscuelaId", listEscuelaId.toString());

		//map.put("orderBy", "createDate");
		//map.put("orderType", "desc");

		request.setAttribute("searchMap", map);
	}

	if (request.getAttribute("searchMap") == null) {
		HashMap<String, String> map = new HashMap<String, String>();

		map.put("listEscuelaId", listEscuelaId.toString());
		//map.put("orderBy", "createDate");
		//map.put("orderType", "desc");

		request.setAttribute("searchMap", map);
	}

%>

<liferay-portlet:renderURL varImpl="searchURL">
	<portlet:param name="jspPage" value="/html/eventos/seleccionarEquipo.jsp"/>
	<portlet:param name="categoriaId" value="<%=renderRequest.getParameter(\"categoriaId\") %>"/>
	<portlet:param name="selectorEquipo" value="<%=renderRequest.getParameter(\"selectorEquipo\") %>"/>
	<portlet:param name="search" value="search"/>
</liferay-portlet:renderURL>

<liferay-portlet:renderURL varImpl="iteratorURL">
	<portlet:param name="jspPage" value="/html/eventos/seleccionarEquipo.jsp"/>
	<portlet:param name="categoriaId" value="<%=renderRequest.getParameter(\"categoriaId\") %>"/>
	<portlet:param name="selectorEquipo" value="<%=renderRequest.getParameter(\"selectorEquipo\") %>"/>
	<portlet:param name="nombre" value="<%=renderRequest.getParameter(\"nombre\") %>"/>
	<portlet:param name="search" value="search"/>
</liferay-portlet:renderURL>


<%--h2><liferay-ui:message key="search-options" /></h2--%>

<aui:form action="<%=searchURL.toString() %>">
	<aui:input inlineField="<%=true %>" label="" name="nombre" type="text" size="30" />	
	<aui:button type="submit" value="search" />
</aui:form>

	<liferay-ui:search-container iteratorURL="<%=iteratorURL %>" delta="10" emptyResultsMessage="No se encontraron escuelas." var="escuelaContainer">

		<liferay-ui:search-container-results>
		<%
			List<Escuela> listEscuela = EscuelaLocalServiceUtil.findByMap((HashMap<String, String>)request.getAttribute("searchMap"),
					escuelaContainer.getStart(), escuelaContainer.getEnd());

			Long longTotal = EscuelaLocalServiceUtil.countByMap((HashMap<String, String>)request.getAttribute("searchMap"));

			pageContext.setAttribute("results", listEscuela);
			pageContext.setAttribute("total", Integer.valueOf(longTotal.intValue()));
			pageContext.setAttribute("rowNumber", Integer.valueOf(0));
		%>
		</liferay-ui:search-container-results>

		<liferay-ui:search-container-row
				className="slic.model.Escuela"
				keyProperty="escuelaId"
				modelVar="escuela" >

			<liferay-ui:search-container-column-text name="Escuela" property="nombre" />

			<liferay-ui:search-container-column-text name="Direcci&oacute;n" property="direccion" />

			<liferay-ui:search-container-column-text name="Localidad" property="localidad" />

			<liferay-ui:search-container-column-text name="Regi&oacute;n" property="region" />

			<liferay-ui:search-container-column-text name="Equipos">
				<ul>
				<%
				for (Equipo equipo : mapEscuelaListEquipo.get(escuela.getEscuelaId())) {
					out.print("<li>");
					out.print("<a href=\"#\" onclick=\"seleccionarEquipo('" + String.valueOf(equipo.getEquipoId()) + "', '" + HtmlUtil.escapeJS(equipo.getNombre()) + "', '" + HtmlUtil.escapeJS(escuela.getNombre()) + "')\">" + HtmlUtil.escape(equipo.getNombre()) + "</a>");
					out.print("</li>");
				}
				%>
				</ul>
			</liferay-ui:search-container-column-text>

		</liferay-ui:search-container-row>

		<liferay-ui:search-iterator searchContainer="<%= escuelaContainer %>" />

	</liferay-ui:search-container>

<aui:script>

function seleccionarEquipo(equipoId, equipoNombre, escuelaNombre) {
	equipo = {
		equipoId: equipoId,
		nombre: equipoNombre,
		escuela: escuelaNombre
	};

	window.parent['<%=renderRequest.getParameter("selectorEquipo") %>'](equipo);
	return false;
}

</aui:script>
